In a collaborative software environment, in which networked software components share information, it is undesirable and inefficient to have a message-sending application always specify receivers of message data. In order to properly specify every receiver for each sending application, an administrator would need to know each receiver, configure it to receive messages, and specify it at least in a logical context in an outgoing message. For many applications, it is not important to know what receivers are present, but rather these applications simply broadcast messages to a network at large.
To require a sending application to specify all receivers, the application would have to be configured with a receiver determination logic. Further it is a waste of resources to read all data from the database to build up a message, only to find that no receiver is interested in the message.